Міністерство освіти і науки України
Національний університет “Львівська Політехніка”
Кафедра ЕОМ
Звіт
про виконання лабораторної роботи № 7
з курсу „Основи алгоритмізації та програмування”
Тема: Робота з файлами.
Виконано:
стдент групи КІ-1
Львів – 2003
МЕТА РОБОТИ: Навчитися працювати з файлами засобами мови Pascal.
Теоретичні відомості
Обробка файлів засобами мови Паскаль
Файл – це сукупність логічно пов'язаних та організованих певнним чином даних на зовнішньому носії інформації (диску).
Розширення можливостей вводу і виводу реалізується використанням файлових змінних.Файловий тип складається із лінійної∙ послідовності компонент, котрі в свою чергу можуть мати любий тип за виключенням файлового або структурного, до складу якого входить файловий тип.
Якшо слово of і тип компоненти відсутні то використовуються нетиповані файли. Паскаль розглядає три класи файлів: типовані, нетиповані, текстові,
Типований файл складається із записів (компонент) одного з допустимих у Паскалі типів. Всі компоненти типованого файла мають однаковий розмір, що визначається розміром базового елемента. Тому можливим є доступ до кожного запису файла за його номером. Типованані файли є файлами прямого доступу і відкриваються одразу для читання і для запису.Це так звані дискові файли, які складаються з нумерованої∙ послідовності деякого типу.
Нетипованані файли Паскаль розглядає як сукупність символьних або байтових значень, незалежно від того, елементами яких даних вони є. Практично це означає, що кожен файл типований чи текстовий може розглядатись як нетипований, важливим є лише його розмір.
Нетиповані файли забезпечують максимальну швидкодію при вводі/виводі інформації, оскільки не потребують затрат часу на перетворення даних. Нетиповані файли також відкриваються для вводу/виводу одночасно.
Текстовий файл складається з послідовності рядків символів, кожен з яких закінчується парою кодів #13#10 ("перевід рядка", "повернення каретки"). Оскільки рядки файла мають різну довжину, то текстові файли є файлами послідовного доступу. Тобто, ввід/вивід n-го рядка файла можливий лише після зчитування/запису попередніх (n-1) рядків, а сам файл відкривається тільки для читання або тільки для запису.
Кожному файлу в програмі ставиться у відповідність файлова змінна одного з трьох типів (за класом файла). А процес роботи з файлами включає наступні етапи:
- опис файлової∙ змінної∙(типи text, file of <базовий тип>, file);
- встановлення зв'язку між файловою змінною та конкретним фізичним файлом (процедура Assign);
- відкривання файла (процедури Reset, Rewrite, Append);
- обмін даними з файлом - ввід/вивід (процедури Read, Readln, BlockRead, Write, Writeln, BlockWrite);
- закриття файла (процедура Close).
Кожен клас файлів має свої∙особливості при виконанні названих етапів.
Крім наведених операцій Паскаль дозволяє здійснювати аналіз помилок при роботі з файлами (за допомогою функці IOResult), переміщення по файлу (процедура Seek, функція SeekPos), встановлення статуса кінця рядка та кінця файла (функці∙EOLn, EOF, SeekEOLn, SeekEOF), визначення розміру файла (функція FileSize), перейменування (процедура Rename) та витирання файла (процедура Truncate) та інші дії.
Список стандартних процедур та функцій для роботи з файлами наведений далі.
Перелік стандартних процедур та функцій модуля System для роботи з файлами
Процедури
Append (Var f:text); Відкриває існуючий текстовий файл для доповнення (запису в кінець); f - файлова змінна.
Assign (Var f; name:string); Пов'язує файлову змінну f з зовнішнім файлом, ім'я якого задається параметром name (змінна або символьний рядок). Якщо файл розташований в іншому каталозі,то необхідно вказати шлях до нього.
Reset (Var f[:file;recsize:word]); Відкриває існуючий файл і встановлює вказівник на його початок: текстовий файл відкривається тільки для читання, типований і нетипований файли – читання і запису. Для нетипованого файла додатково задається розмір запису у байтах.
Rewrite (Var f[...